
# 递归函数
"""
定义 ： 函数的内部又调用了自己的这个函数叫递归 ，条件就是必须要有终止条件，否则会报错 。
"""


def add(x,y):
    return x + y


def show():
    print(add(3,4))

def show1(msg):
    show1(msg)

# show1('hello world')

# 需求 ： n的阶层 ： 1 * 2 * 3 * ... *n
def iteratice(n):
    fact = 1
    for x in range(1,n+1):
        fact *= x       # fact = fact * x
    return fact

def fact(n):
    if n == 1:
        return n
    n = n * fact(n-1)       #
    return n

print(iteratice(5))


#实例2： 1，1，2，3，5，8，13，21，34，55，试判断数列第23个数是哪个？
def fab(n):
    if n <= 2:
        val = 1
        return val
    val = fab(n-1) + fab(n-2)
    return val

print(fab(23))
print(fab(10))